﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()//最简单的递归
//{
//	printf("hehe ");	
//	static float i = 0;	
//	 (i=(+1.5)*i*1.0+i+1);
//	    if (i > 666)
//		   return 0;
//	 main();
//}
//long long jieceng(long long n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * jieceng(n - 1);
//}
//int main()
//{
//	long long n=0;
//while(scanf("%d", &n)!=EOF)
//{	
//	long long ret = jieceng(n);
//	printf("%lld\n",ret);
//	}
//	return 0;
//}
//void zheng(int n)////温故而知新
//{
//	if (n > 9)
//	{
//		zheng(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	printf("%d\n", *(&n));
//	zheng(n);
//	return 0;
//}
//int Fact(int n)////这里迭代可以理解为循环
//{
//	int i = 0;
//	int ret = 1;
//	for (i = 1; i <= n; i++)
//	{
//		ret *= i;
//	}
//	return ret;
//} 
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	int ret = Fact(n);
//	printf("%d\n", ret);	
//	return 0;
//}
//int main()
//{
//	string s = "hello world hello everyone";
//	string str = "llo";
//	//查找string类型的字符串
//	size_t n = s.find(str);
//	cout << n << endl;
//	n = s.find(str, n + 1); //从n+1这个指定位置开始查找
//	cout << n << endl;
//	//查找C⻛格的字符串
//	n = s.find("llo");
//	cout << n << endl;
//	n = s.find("ld", n + 1); //从n+1这个指定位置开始查找
//	cout << n << endl;
//	return 0;
//}
//int main()
//{
//	
//	string s = "hello world hello everyone";
//	//在s中，0这个指定位置开始查找"word"中的前3个字符
//	size_t n = s.find("r",2);
//	if (n == string::npos)
//		cout << "找不到" << endl;
//	else
//		cout <<"找到了，下标是：" << n << endl;
//	n = s.find("everyday",0, 5);
//	cout << n << endl;
//	return 0;
//}
//int main()
//{
//	string s="hello world everyone";
//	size_t n=s.find("world");
//	int len = strlen("world");
//	string str = s.substr(n,len);
//	cout << str;
//
//	return 0;
//}
//int main()
//{ 
//	string s1 = "hello world";
//	string s2 = "hello";
//	if (s1 == s2 + "world")
//	cout << "yes";
//	else
//		cout<< "no";
//	return 0;
//}
//int main()
//{
//	string s1 = "abdd";
//	string s2 = "abbcdef";
//	char s3[] = "abl";
//	if (s1 > s3)
//	{
//		cout << "大于";
//	}
//	else
//	{
//		cout << "小于或等于";
//	}
//	return 0;
//}


////stoi和stol
//int main()
//{
//	string s = "11x22";
//	size_t pos = 0;
//	int r=stoi(s, &pos);
//	cout << r << endl;
//	cout << "pos= " << pos<<endl;
//	return 0;
//}
//
//int main()
//{
//	string s = "11x22";
//	size_t pos = 0;
//	int r=stoi(s, NULL,2);
//	cout << r << endl;
//	cout << "pos= " << pos<<endl;
//	return 0;
//}
//int main()
//{
//	string s = "0x11x22";
//	size_t pos = 0;
//	int r = stoi(s, &pos,0);
//	cout << r << endl;
//	cout << "pos= " << pos << endl;
//	return 0;
//}

//int main()
//{
//	string s = "3.1415abc234";
//	size_t pos=0;
//	double d= stod(s,&pos);
//	cout << d << endl;
//	cout << pos << endl;
//	return 0;
//}

//int main()
//{
//	//string s= to_string(3.14);
//	//string s = to_string(110);
//	string pi = "pi is " + to_string( 3.14);//直观看到可以将数字转化成字符串；
//		cout << pi;
//
//	return 0;
//}

//int main()
//{
//	string s;
//	getline(cin, s);
//	int sz = s.size();
//	int cnt = 0;
//	for (int i = 0; i < sz; i++)
//	{
//		if (isspace(s[i]))
//			continue;
//		else
//			cnt++;
//	}
//	cout << cnt;
//	return 0;
//}


//int main()
//{
//	string s;
//	int ret = 0;
//	while (cin >> s)
//	{
//		ret+=s.size();
//	}
//	cout << ret << endl;
//	return 0;
//}

//int main()
//{   
//	string s1;
//	string s2;
//	int n;
//	cin >> n;
//	while (n--)
//	{
//		cin >> s1 >> s2;
//		if (s1 == s2)
//			printf("Tie\n");
//		else if (s1 == "Rock" && s2 == "Scissors")
//			cout << "Player1" << endl;
//		else if (s1 == "Scissors" && s2 == "Paper")
//			cout << "Player1" << endl;
//		else if (s1 == "Paper" && s2 == "Rock")
//			cout << "Player1" << endl;
//		else
//			cout << "Player2" << endl;
//	}   
//	return 0;
//}

//int main()
//{
//	string s;
//	getline(cin, s);
//	int len = s.size();
//	for (int i = 0; i < len; i++)
//	{
//		if ((s[i] > 'a' && s[i] <= 'z') || (s[i] > 'A' && s[i] <= 'Z'))
//			s[i]--;
//		else if (s[i] == 'a'||s[i]=='A')
//			s[i] += 25;
//		else;
//	}
//	cout << s;
//	return 0;
//}
//int main()
//{
//	int q;
//	string s;
//	cin >> q ;
//	cin >> s;
//	int a, b;
//	int n = 0;
//	string str;
//	while (q--)
//	{
//		a = b = n = 0;
//		cin >> n;
//		switch (n)
//		{
//		case 1:
//			cin>>str;
//			s = s+ str;
//			cout << s<<endl;
//			break;
//		case 2:
//			cin >> a;
//			cin >> b;
//			s= s.substr(a, b);
//			cout << s<<endl;
//			break;
//		case 3:
//			cin >> a;
//			cin >> str;
//			s.insert(a, str);
//			cout << s << endl;
//			break;
//		case 4:
//			cin >> str;
//			size_t a = s.find(str);
//			if (a != string::npos)
//				cout << a << endl;
//			else
//				cout << -1<<endl; break;
//		}
//	}
//	return 0;
//}

//int main()
//{
//	string s;
//	int len, i=0;
//	while (cin >> s)
//	{
//		len = s.size();
//		if (i != 0)
//			printf(",");
//		printf("%d", len);
//			i++;
//	}
//	return 0;
//}

//int main()//布尔类型写法
//{
//	string s;
//	bool flag = true;
//	while (cin >> s)
//	{
//		int len = s.size();
//		if (flag)
//		{
//			cout << len;
//			flag = false;
//		}
//		else
//		{	cout << ",";
//		    cout << len;
//	     }
//}
//      return 0;
//}

//int main()////最简单的写法
//{
//	string s;
//	int len = 0;
//	while (cin >> s)
//	{
//		len = s.size();
//		for (int i = len-1; i >=0; i--)
//		{
//			cout << s[i];
//		}
//		cout << endl;
//	}
//	return 0;
//}

//int main()//范围for写法
//{
//	string s;
//	getline(cin, s);
//	int cnt = 0;
//	for (auto e : s)
//	{
//
//		if (isspace(e))
//			continue;
//		else
//			cnt++;
//	}
//	cout << cnt;
//	return 0;
//}
////int Max(int x, int y, int z)
//{
//	int m = (x > y ? x : y);
//	return (m > z ? m : z);
//}
//int main()
//{
//	int a, b, c;
//	cin >> a >> b >> c;
//	double ret = Max(a, b, c) * 1.0 / (Max(a + b, b, c) * Max(a, b, b + c));
//	printf("%.3lf\n", ret);
//	return 0;
//}
#include <iostream>
#include <string>
#include <cctype>
#include <cmath>
#include <algorithm>
using namespace std;
bool cmp_str(string str1, string str2)
{

	return str1.size() < str2.size();
}
int main()
{
	string s1 = "abcdefg";
	string s2 = "bbq";
	string m = max(s1, s2, cmp_str);
	cout << m << endl;
	return 0;
}